//package com.lt.test.consumer.controller;
//
//
//import com.alibaba.dubbo.config.annotation.Reference;
//import com.lt.test.api.KtCountService;
//import com.lt.test.api.KtTakeStockService;
//import com.lt.test.common.util.WebUtils;
//import com.lt.test.entity.DTO.ActiveUser;
//import com.lt.test.entity.DTO.PageDTO;
//import com.lt.test.entity.DTO.ResponseDTO;
//import net.sf.json.JSONArray;
//import org.apache.shiro.SecurityUtils;
//import org.apache.shiro.subject.Subject;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Controller;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RequestMethod;
//import org.springframework.web.bind.annotation.ResponseBody;
//import org.springframework.web.servlet.ModelAndView;
//
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
///**
// * 创建人：lt
// * 创建时间：17:34 2018/8/15
// */
//@Controller
//@RequestMapping("/ktTakeStock")
//public class KtTakeStockController {
//    private static final Logger logger = LoggerFactory.getLogger(KtSaleProjectController.class);
//    //盘点Service
//    @Reference(version = "1.0.0")
//    private KtTakeStockService ktTakeStockService;
//    @Reference(version = "1.0.0")
//    private KtCountService ktCountService;
//
//
//    /**
//     * 商品移库
//     * @param request
//     * @param response
//     * @return
//     */
//    @RequestMapping("ktProdMove")
//    public ModelAndView ktProdMove(HttpServletRequest request, HttpServletResponse response){
//    	ModelAndView mav = new ModelAndView();
//
//    	mav.setViewName("content/franchisee/takestock/prodmove");
//    	return mav;
//    }
//    @RequestMapping("getKtProdMove")
//    public @ResponseBody
//    List<Map<String, Object>>  getKtProdMove(HttpServletRequest request) throws Exception{
//    	request.setCharacterEncoding("utf-8");
//        Map<String, String> params = WebUtils.getAllParamMap(request);
//        params.put("sortName", params.get("sidx"));
//        params.put("sortOrder", params.get("sord"));
//        List<Map<String, Object>> result = null;
//        try{
//        	result = (List<Map<String, Object>>)ktCountService.getStockItem(params,0).get("rows");
//        }catch(Exception e){
//        	logger.error("获取商品信息失败");
//            e.printStackTrace();
//        }
//        return result;
//    }
//    /**
//     * 保存促销方案
//     *
//     * @param request
//     * @param response
//     * @return json
//     */
//    @RequestMapping("/saveKtProdMove")
//    public
//    @ResponseBody
//    ResponseDTO saveKtProdMove(HttpServletRequest request, HttpServletResponse response) {
//        ResponseDTO responseDTO = new ResponseDTO();
//        Map<String,String> parameter = WebUtils.getAllParamMap(request);
//        try {
//        	String params = parameter.get("params");
//        	List<Map<String,String>> lst = JSONArray.fromObject(params);
//        	ktTakeStockService.saveKtProdMove(lst);
//            responseDTO.setCode("200");
//            responseDTO.setSuccess(true);
//            responseDTO.setMessage("操作成功");
//        } catch (Exception e) {
//            e.printStackTrace();
//            responseDTO.setCode("500");
//            responseDTO.setMessage("服务器异常");
//        }
//        return responseDTO;
//    }
//
//    /**
//     * 月结库存
//     * @return
//     */
//    @RequestMapping(value = "/smonSettli")
//    public ModelAndView smonSettli(){
//    	ModelAndView mav = new ModelAndView();
//    	mav.setViewName("content/franchisee/takestock/smonsettli");
//    	return mav;
//    }
//
//    /**
//     * 获取月结库存列表
//     * @param request
//     * @return
//     * @throws Exception
//     */
//    @RequestMapping(value = "/getSmonSettli")
//    public @ResponseBody
//    List<Map<String, Object>> getSmonSettli(HttpServletRequest request) throws Exception{
//    	request.setCharacterEncoding("utf-8");
//        Map<String, String> params = WebUtils.getAllParamMap(request);
//        params.put("sortName", params.get("sidx"));
//        params.put("sortOrder", params.get("sord"));
//        List<Map<String, Object>> result = null;
//        try{
//        	result = (List<Map<String, Object>>)ktTakeStockService.queryMonthSettlement(params);
//        }catch(Exception e){
//        	logger.error("获取商品信息失败");
//            e.printStackTrace();
//        }
//        return result;
//    }
//
//    @RequestMapping("/saveSmonSettli")
//    public @ResponseBody
//    ResponseDTO saveSmonSettli(HttpServletRequest request, HttpServletResponse response) {
//        Subject subject = SecurityUtils.getSubject();
//        ActiveUser activeUser = (ActiveUser)subject.getPrincipal();
//    	ResponseDTO responseDTO = new ResponseDTO();
//        Map<String,String> parameter = WebUtils.getAllParamMap(request);
//        try {
//        	parameter.put("operatorId", activeUser.getUserId());
//        	ktTakeStockService.saveMonthSettlement(parameter);
//            responseDTO.setCode("200");
//            responseDTO.setSuccess(true);
//            responseDTO.setMessage("操作成功");
//        } catch (Exception e) {
//            e.printStackTrace();
//            responseDTO.setCode("500");
//            responseDTO.setMessage("服务器异常");
//        }
//        return responseDTO;
//    }
//
//    @RequestMapping("/delSmonSettli")
//    public @ResponseBody
//    ResponseDTO delSmonSettli(HttpServletRequest request, HttpServletResponse response) {
//    	ResponseDTO responseDTO = new ResponseDTO();
//        Map<String,String> parameter = WebUtils.getAllParamMap(request);
//        try {
//        	ktTakeStockService.delMonthSettlement(parameter);
//            responseDTO.setCode("200");
//            responseDTO.setSuccess(true);
//            responseDTO.setMessage("操作成功");
//        } catch (Exception e) {
//            e.printStackTrace();
//            responseDTO.setCode("500");
//            responseDTO.setMessage("服务器异常");
//        }
//        return responseDTO;
//    }
//    /**
//     * 保存盘点单
//     * @param request
//     * @param response
//     * @return json
//     */
//    @RequestMapping(value = "/saveTakeSrock", method = {RequestMethod.POST, RequestMethod.GET})
//    public
//    @ResponseBody
//    ResponseDTO saveTakeSrock(HttpServletRequest request, HttpServletResponse response) {
//        ResponseDTO responseDTO = new ResponseDTO();
//        Map<String,String> parameter = WebUtils.getAllParamMap(request);
//        Map reqMap = new HashMap();
//        try {
//            Map<String,Object> takeMap = ktTakeStockService.verifyTakeStock(parameter);
//            if(takeMap == null || takeMap.size() <= 0) {
//                String takeId = ktTakeStockService.saveTakeStock(parameter);
//                reqMap.put("takeId", takeId);
//                reqMap.put("status", "1");
//            }else {
//                reqMap.put("takeId", takeMap.get("id").toString());
//                reqMap.put("status", takeMap.get("status").toString());
//            }
//            responseDTO.setCode("000");
//            responseDTO.setSuccess(true);
//            responseDTO.setData(reqMap);
//            responseDTO.setMessage("操作成功");
//        } catch (Exception e) {
//            e.printStackTrace();
//            responseDTO.setCode("500");
//            responseDTO.setMessage("服务器异常");
//        }
//        return responseDTO;
//    }
//
//    /**
//     * 更新盘库单状态
//     * @param request
//     * @return
//     */
//    @RequestMapping(value = "/upTakeSrock", method = {RequestMethod.POST, RequestMethod.GET})
//    public @ResponseBody
//    ResponseDTO updateTakeSrock(HttpServletRequest request){
//        ResponseDTO responseDTO = new ResponseDTO();
//        Map<String,String> parameter = WebUtils.getAllParamMap(request);
//        Map reqMap = new HashMap();
//        try {
//            ktTakeStockService.updateTakeStock(parameter);
//            responseDTO.setCode("000");
//            responseDTO.setSuccess(true);
//            responseDTO.setMessage("操作成功");
//        } catch (Exception e) {
//            e.printStackTrace();
//            responseDTO.setCode("500");
//            responseDTO.setMessage("服务器异常");
//        }
//        return responseDTO;
//    }
//
//    /**
//     * 查询盘库订单列表
//     * @param request
//     * @return
//     */
//    @RequestMapping(value = "/quTakeSrock", method = {RequestMethod.POST, RequestMethod.GET})
//    public @ResponseBody
//    ResponseDTO queryTakeSrock(HttpServletRequest request){
//        ResponseDTO responseDTO = new ResponseDTO();
//        Map<String,String> parameter = WebUtils.getAllParamMap(request);
//        Map reqMap = new HashMap();
//        try {
//            List<Map<String, Object>> list = ktTakeStockService.queryTakeStock(parameter);
//            responseDTO.setCode("000");
//            responseDTO.setSuccess(true);
//            responseDTO.setMessage("操作成功");
//            responseDTO.setData(list);
//        } catch (Exception e) {
//            e.printStackTrace();
//            responseDTO.setCode("500");
//            responseDTO.setMessage("服务器异常");
//        }
//        return responseDTO;
//    }
//
//    /**
//     * 盘库数据分析
//     *
//     * @param request
//     * @param response
//     * @return
//     */
//    @RequestMapping("/getKtTakeAnalysis")
//    public
//    @ResponseBody
//    List<Map<String, Object>> getKtTakeAnalysis(HttpServletRequest request, HttpServletResponse response) {
//    	Map<String,String> parameter = WebUtils.getAllParamMap(request);
//    	List<Map<String, Object>> result = ktTakeStockService.getKtTakeAnalysis(parameter);
//        return result;
//    }
//
//    /**
//     * 保存损益单
//     * @param request
//     * @return
//     */
//    @RequestMapping(value = "/saveKtShopLossProfit", method = {RequestMethod.POST, RequestMethod.GET})
//    public @ResponseBody
//    ResponseDTO saveKtShopLossProfit(HttpServletRequest request){
//        ResponseDTO responseDTO = new ResponseDTO();
//        Map<String,String> parameter = WebUtils.getAllParamMap(request);
//        try {
//        	Subject subject = SecurityUtils.getSubject();
//            ActiveUser activeUser = (ActiveUser) subject.getPrincipal();
//            parameter.put("operator", activeUser.getUserId());
//            ktTakeStockService.saveKtShopLossProfit(parameter);
//            responseDTO.setCode("000");
//            responseDTO.setSuccess(true);
//            responseDTO.setMessage("操作成功");
//        } catch (Exception e) {
//            e.printStackTrace();
//            responseDTO.setCode("500");
//            responseDTO.setMessage("服务器异常");
//        }
//        return responseDTO;
//    }
//
//    /**
//     * 分页损益单
//     *
//     * @param request
//     * @param response
//     * @return
//     */
//    @RequestMapping("/getShopLossProfitListByPage")
//    public
//    @ResponseBody
//    PageDTO<Map<String, Object>> getShopLossProfitListByPage(HttpServletRequest request, HttpServletResponse response) {
//    	 Map<String,String> parameter = WebUtils.getAllParamMap(request);
//        System.out.println(parameter);
//    	 PageDTO<Map<String, Object>> result = ktTakeStockService.getShopLossProfitListByPage(parameter);
//        return result;
//    }
//
//    /**
//     * 损益单明细
//     *
//     * @param request
//     * @param response
//     * @return
//     */
//    @RequestMapping("/getShopLossProfitItems")
//    public
//    @ResponseBody
//    List<Map<String, Object>> getShopLossProfitItems(HttpServletRequest request, HttpServletResponse response) {
//    	Map<String,String> parameter = WebUtils.getAllParamMap(request);
//    	List<Map<String, Object>> result = ktTakeStockService.getShopLossProfitItems(parameter);
//        return result;
//    }
//
//    /**
//     * 损益单审核完成
//     * @param request
//     * @return
//     */
//    @RequestMapping(value = "/confirmShopLossProfit", method = {RequestMethod.POST, RequestMethod.GET})
//    public @ResponseBody
//    ResponseDTO confirmShopLossProfit(HttpServletRequest request){
//        ResponseDTO responseDTO = new ResponseDTO();
//        Map<String,String> parameter = WebUtils.getAllParamMap(request);
//        try {
//        	Subject subject = SecurityUtils.getSubject();
//            ActiveUser activeUser = (ActiveUser) subject.getPrincipal();
//            parameter.put("operator", activeUser.getUserId());
//            ktTakeStockService.confirmShopLossProfit(parameter);
//            responseDTO.setCode("000");
//            responseDTO.setSuccess(true);
//            responseDTO.setMessage("操作成功");
//        } catch (Exception e) {
//            e.printStackTrace();
//            responseDTO.setCode("500");
//            responseDTO.setMessage("服务器异常");
//        }
//        return responseDTO;
//    }
//}
